The present invention relates generally to workload management, and in particular, to searching multiple queues for prioritized work elements.
In modern operating systems, the next work element to schedule on a processor should be available without excessive searching of a list of possible work elements that may or may not be ready to use the processor. U.S. Pat. No. 4,807,111 is an example of a queuing discipline that achieves this objective. Unique characteristics of certain processors may dictate that they service a queue of work elements requiring that unique capability to avoid searching the general work queue when the percentage of work elements requiring the capability may be relatively small. An example of this is the management of S390® processors with a vector processor or a cryptographic processor. In the case of the latter, the processors with the cryptographic feature service a processor work queue of elements requiring the cryptographic feature before searching the general work queue.
There may be valid reasons for segregating certain types of work to certain processors for improved performance or for pricing considerations. In the latter case, all processors are capable of servicing the work but only a subset is the primary source of processor for the work. In this case two or more queues of work are populated regularly. If the distribution of work to the queues is not optimal, it would be desirable to have a processor search two or more queues with consideration for priority during the search.